package com.wyj.wuliwuli.service;

import com.alibaba.fastjson.JSONObject;
import com.wyj.wuliwuli.common.AjaxRequest;
import com.wyj.wuliwuli.common.AjaxResult;
import com.wyj.wuliwuli.controller.request.LoginRequest;
import com.wyj.wuliwuli.exception.LoginException;
import com.wyj.wuliwuli.exception.TokenInvalidException;

/**
 * @Author wyj
 * @version 1.0
 * @date 2022/2/15 11:23
 * @description
 */

public interface LoginService {

    /**
     * 登录
     * @param ajaxRequest
     * @return
     * @throws LoginException
     */
    AjaxResult auth(AjaxRequest<LoginRequest> ajaxRequest) throws Exception;

    /**
     * 刷新token
     * @param ajaxRequest
     * @return
     * @throws TokenInvalidException
     */
    AjaxResult refreshToken(AjaxRequest<JSONObject> ajaxRequest) throws TokenInvalidException, Exception;
}
